Skip to content

Conversation

@ZERICO2005
Copy link
Contributor

It doesn't make sense to have erfc.c contain both erfcf(float) and erfcl(long double), especially when different algorithms may be used for the different precisions. So I split the <math.h> functions such that funcf.* contains float, funcl.* contains long double, and func.* contains both float and long double.

I also fixed softfloat in linker.mk as Adriweb pointed out to me. Additionally, the formatting of the <math.h> functions and the Zilog copyright headers were corrected.

Otherwise, I patched a softlocking bug in lgammaf (lgammaf(-1.0e8f) would perform 10^8 iterations and etc), corrected the behavior for negative inputs in erfc, along with other minor bug fixes.

…loat linker.mk, fixed lgammaf softlock bug, fixed erfcf/erfcl for negative inputs, and fixed the zilog copyright headers so I can sleep peacefully
@ZERICO2005
Copy link
Contributor Author

I fixed two typos inside of comments

-/*                Copyright (C) 2000-2008 by Zilog, Inc.                */
+/*                 Copyright (C) 2000-2008 Zilog, Inc.                  */
-* strtold - string to float conversion
+* strtold - string to long double conversion

@adriweb adriweb merged commit 7fb3907 into master Mar 3, 2025
0 of 9 checks passed
@adriweb adriweb deleted the pr/libm_fixes branch March 3, 2025 07:52
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Development

Successfully merging this pull request may close these issues.

2 participants